/*
 * AbstractScriptEntry.java
 *
 * Created on November 8, 2007, 9:52 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package filecopier.script;

import java.io.File;

/**
 *
 * @author david
 */
public abstract class AbstractScriptEntry implements ScriptEntry {

    protected ScriptEntry.SavedState savedState = null;

    /** Creates a new instance of AbstractScriptEntry */
    public AbstractScriptEntry() {
    }

    public ScriptEntry.SavedState getSavedState() {
        return savedState;
    }

    public void setSavedState(ScriptEntry.SavedState savedState) {
        if (savedState == null) {
            throw new IllegalArgumentException("setSavedState() received a null for the SavedState as its parameter.");
        }
        this.savedState = savedState;
    }

    public abstract File getPath();

    public abstract File getPath(ScriptEntry.PathType pathType);

    public abstract ScriptEntry.PathType getPathType();

    public abstract ScriptEntry.PathType getPathType(File path);

    public abstract void setPath(File path);

    public abstract void setPath(ScriptEntry.PathType pathType, File path);

    public abstract void setPathType(ScriptEntry.PathType pathType);
}
